package com.spring.demo6.eg1;

import org.springframework.beans.factory.annotation.Autowired;

/**
 * @author vhans
 */
public class Service5 {
    private Service1 service1;

    // 方法上的注解默认对方法中所有参数生效，可以在方法参数中再次使用@Autowired来约束
    // 这里容器中并没有name的bean，加上@Autowired(required = false)表示不强制注入
    @Autowired
    public void injectService1( Service1 service1, @Autowired(required = false) String name) {
        System.out.printf("%s.injectService1(),{service1=%s,name=%s}%n", this.getClass().getName(), service1, name);
        this.service1 = service1;
    }

    @Override
    public String toString() {
        return "Service5{" +
                "service1=" + service1 +
                '}';
    }
}
